package com.swak.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 定义一致性处理标志
 * 
 * @author DELL
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD })
public @interface Consistency {

	/**
	 * @return 配置一致性的方案， 默认是Tcc 的模式
	 */
	ConsistencyScheme scheme() default ConsistencyScheme.TCC;

	/**
	 * @return 一致性的传播级别， 默认需要一个事务
	 */
	Propagation propagation() default Propagation.REQUIRED;
}
